//package leetcode.hot100.intermediate;
//
//class MyCircularQueue {
//    private int front;
//    private int rear;
//    private int capcity;
//    private int[] elements;
//
//    public MyCircularQueue(int k) {
//        capcity = k + 1;
//        elements = new int[capcity];
//        rear = front = 0;
//    }
//
//    public boolean enQueue(int value) {
//        if (isFull()) {
//            return false;
//        }
//        elements[rear] = value;
//        rear = (rear + 1) % capcity;
//        return true;
//    }
//
//    public boolean deQueue() {
//        if (isEmpty()) {
//            return false;
//        }
//        front = (front + 1) % capcity;
//        return true;
//    }
//
//    public int Front() {
//        if (isEmpty()) {
//            return -1;
//        }
//        return elements[front];
//    }
//
//    public int Rear() {
//        if (isEmpty()) {
//            return -1;
//        }
//        return elements[(rear - 1 + capcity) % capcity];
//    }
//
//    public boolean isEmpty() {
//        return rear == front;
//    }
//
//    public boolean isFull() {
//        return ((rear + 1) % capcity) == front;
//    }
//}
//
//
//public class test2 {
//}
